$.getScript("/Public/Js/validform/Validform_v5.3.2_min.js", function(){
	$("<link>").attr({ 
		rel: "stylesheet",
        type: "text/css",
        href: "/Public/Js/validform/style.css"
    }).appendTo("head");
	//表单验证处理
	var form = $("form");
	if(form){
	 	form.each(function(){
	 		if($(this).attr('filterValid')!='true'){
	 			if(is_win_tip==true){
	 				$.Tipmsg.r=null;
	 				$(this).Validform({
		     			tiptype:function(msg){
		     				msgbox(msg,3);
						},
						label:".name",
						showAllError:is_show_all_error?true:false
		     		});
	 			}else{
	 				$(this).Validform({
		     			tiptype:form_tip_type?form_tip_type:3,
						label:".name",
						showAllError:is_show_all_error?true:false
		     		});
	 			}
	     		
	 		}
	 	});
	}
	//验证类型定义
	$.Datatype.email     = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	$.Datatype.require   = /.*/;
	$.Datatype.phone     = /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/; //固定电话
	$.Datatype.mobile    = /^((\(\d{2,3}\))|(\d{3}\-))?(13|15|18|14|17)\d{9}$/;//移动手机号码;
	$.Datatype.pmobile   = /^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$|(^(13[0-9]|15[0|3|6|7|8|9]|18[0-9])\d{8}$)/;//移动手机号码;
	$.Datatype.url       = /^(http|ftp|https):\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;//url地址;
	$.Datatype.domain    = /^[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;//url地址;
	$.Datatype.currency  = /^\d+(\.\d+)?$/;
	$.Datatype.price     = /^\d+(\.\d+)?$/;
	$.Datatype.number    = /\d+$/;//纯数字
	$.Datatype.zip       = /^[0-9]{6}$/;//邮编
	$.Datatype.double    = /^[-\+]?\d+(\.\d+)?$/;//双整型
	$.Datatype.english   = /^[A-Za-z]+$/;//纯英文字符
	$.Datatype.string    = /^[A-Za-z_]+[0-9_a-zA-Z]*$/;    //以英文开头的英文和数字组成的字符串
	$.Datatype.ip        = /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/; //ip地址
	// $.Datatype.cardid = /^(\d{14}|\d{17})(\d|[xX])$/;   //匹配身份证
	$.Datatype.birth     = /^\d{4}.{1}\d{1,2}.{1}\d{1,2}/;  //匹配生日
	$.Datatype.date      = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/;  //匹配日期
	$.Datatype.max = function (val,obj,curform,datatype) {
		var max  = obj.attr('max');
		var tips = obj.attr('max-error');
		if(max==undefined){
			obj.attr('errormsg','表单需要配置最大值属性');
			return false;
		}
		if(parseFloat(max)>=parseFloat(val)){
			return true;
		}else{
			obj.attr('errormsg', tips ? tips : '必须小于等于' + max);
			return false;
		}
	};
	$.Datatype.min = function (val,obj,curform,datatype) {
		var min  = obj.attr('min');
		var tips = obj.attr('min-error');
		if(min==undefined){
			obj.attr('errormsg','表单需要配置最小值属性');
			return false;
		}
		if(parseFloat(min)<parseFloat(val)){
			return true;
		}else{
			obj.attr('errormsg', tips ? tips : '必须大于' + min);
			return false;
		}
	};
	$.Datatype.eqmin = function (val,obj,curform,datatype) {
		var min  = obj.attr('eqmin');
		var tips = obj.attr('eqmin-error');
		if(min==undefined){
			obj.attr('errormsg','表单需要配置最小值属性');
			return false;
		}
		if(parseFloat(min)<=parseFloat(val)){
			return true;
		}else{
			obj.attr('errormsg', tips ? tips : '必须大于等于' + min);
			return false;
		}
	};
	//匹配身份证
	$.Datatype.cardid    = function(gets,obj,curform,datatype){
		//该方法由佚名网友提供;

		var Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ];// 加权因子;
		var ValideCode = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ];// 身份证验证位值，10代表X;

		if (gets.length == 15) {   
			return isValidityBrithBy15IdCard(gets);   
		}else if (gets.length == 18){   
			var a_idCard = gets.split("");// 得到身份证数组   
			if (isValidityBrithBy18IdCard(gets)&&isTrueValidateCodeBy18IdCard(a_idCard)) {   
				return true;   
			}   
			return false;
		}
		return false;
		
		function isTrueValidateCodeBy18IdCard(a_idCard) {   
			var sum = 0; // 声明加权求和变量   
			if (a_idCard[17].toLowerCase() == 'x') {   
				a_idCard[17] = 10;// 将最后位为x的验证码替换为10方便后续操作   
			}   
			for ( var i = 0; i < 17; i++) {   
				sum += Wi[i] * a_idCard[i];// 加权求和   
			}   
			valCodePosition = sum % 11;// 得到验证码所位置   
			if (a_idCard[17] == ValideCode[valCodePosition]) {   
				return true;   
			}
			return false;   
		}
		
		function isValidityBrithBy18IdCard(idCard18){   
			var year = idCard18.substring(6,10);   
			var month = idCard18.substring(10,12);   
			var day = idCard18.substring(12,14);   
			var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day));   
			// 这里用getFullYear()获取年份，避免千年虫问题   
			if(temp_date.getFullYear()!=parseFloat(year) || temp_date.getMonth()!=parseFloat(month)-1 || temp_date.getDate()!=parseFloat(day)){   
				return false;   
			}
			return true;   
		}
		
		function isValidityBrithBy15IdCard(idCard15){   
			var year =  idCard15.substring(6,8);   
			var month = idCard15.substring(8,10);   
			var day = idCard15.substring(10,12);
			var temp_date = new Date(year,parseFloat(month)-1,parseFloat(day));   
			// 对于老身份证中的你年龄则不需考虑千年虫问题而使用getYear()方法   
			if(temp_date.getYear()!=parseFloat(year) || temp_date.getMonth()!=parseFloat(month)-1 || temp_date.getDate()!=parseFloat(day)){   
				return false;   
			}
			return true;
		}
		
	};
});
